import type { Dayjs } from 'dayjs';

import type { PageParam, TenantModel } from './base_beans';

/** 用户信息 */
interface SysMenuBase extends TenantModel {
  menu_id?: string;
  parent_id?: string;
  menu_name?: string;
  menu_code?: string;
  menu_type?: number;
  perm?: string;
  path?: string;
  component?: string;
  icon?: string;
}

interface SysMenuReq extends SysMenuBase, PageParam {
  create_time_range?: [Dayjs, Dayjs] | [string, string];
  update_time_range?: [Dayjs, Dayjs] | [string, string];
}

interface SysMenuResp extends SysMenuBase {
  children?: SysMenuResp[];
}

export type { SysMenuBase, SysMenuReq, SysMenuResp };
